using System;

namespace Beaker
{
	public class PropertyValueChangedEventArgs<TProp>
		: EventArgs
	{
		private readonly TProp _oldValue;
		private readonly TProp _newValue;

		public PropertyValueChangedEventArgs( TProp oldValue, TProp newValue )
		{
			_oldValue = oldValue;
			_newValue = newValue;
		}

		/// <summary>
		/// Gets the old value.
		/// </summary>
		/// <value>
		/// The old value.
		/// </value>
		public TProp OldValue
		{
			get { return _oldValue; }
		}

		/// <summary>
		/// Gets the new value.
		/// </summary>
		/// <value>
		/// The new value.
		/// </value>
		public TProp NewValue
		{
			get { return _newValue; }
		}
	}
}